On Maven
Overview * Maven Getting Started Guide : http://maven.apache.org/guides/getting-started/index.html * POM Reference : http://maven.apache.org/pom.html * Maven Build Lifecycle : http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html * Maven Plugin List : http://maven.apache.org/plugins/ * Maven Shared Components : http://maven.apache.org/shared/ * mvn Command Line Options : http://www.sonatype.com/books/mvnref-book/reference/running.html#running-sect-help-option * XML Schema and description for Maven POM file(maven-4.0.0.xsd). * Maven Model 3.0 API * Maven Core 3.0 API * API of MavenProject class * The mvn Command * Version Range Specification * How Scope Affects Transitive Dependencies * Maven for C/C++ * Maven for JavaScript ** Maven tools for JavaScript developers Maven Repositories * Central Repository : http://search.maven.org/ * Main Repositories : http://mvnrepository.com/ * Apache Maven Repository : ** search : https://repository.apache.org/ ** public : https://repository.apache.org/content/groups/public ** snapshots : https://repository.apache.org/content/groups/snapshots * '''JBoss Maven Repository ** Maven Repository ** JBoss Maven Snapshot Repositories ** JBoss Maven repsoitories include hibernate releases and snapshots. * SUN Jars Repository ** http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html * Maven Repository of eclipse.org ** http://maven.eclipse.org/nexus/ * DocBook Repository ** http://docbook.sourceforge.net/maven/repository/ ** About configuring pom.xml, refer http://wiki.docbook.org/topic/Maven. Maven Plug-ins * Resource Plugin : http://maven.apache.org/plugins/maven-resources-plugin/ * Build Helper Plugin : http://mojo.codehaus.org/build-helper-maven-plugin/ ** contains various small independent goals to assist with the Maven build lifecycle. * Eclipse Plugin : http://maven.apache.org/plugins/maven-eclipse-plugin/ * Tycho : a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven. ** http://www.eclipse.org/tycho/ ** http://www.eclipse.org/tycho/sitedocs/ ** Tycho/Reference Card ** Tycho/Packaging Types ** Tycho/FAQ * P2 Plugin : https://github.com/reficio/p2-maven-plugin ** responsible for the automation of dependency management in the Eclipse RCP environment. * Doxia Plugin : http://maven.apache.org/doxia/doxia/doxia-maven-plugin/ * JBoss Plugin : http://mojo.codehaus.org/jboss-maven-plugin/ * Jetty Plugin : http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin * IzPack Plugin : http://izpack.codehaus.org/izpack-maven-plugin/ * Properties Plugin : ** http://mojo.codehaus.org/properties-maven-plugin/ *** Provides goals to read and write properties from and to files. ** http://site.kuali.org/maven/plugins/properties-maven-plugin/1.3.2/plugin-info.html *** Provides goals to read and write properties from files. * Build Number Plugin : http://mojo.codehaus.org/buildnumber-maven-plugin/ ** Designed to get a unique build number for each time you build your project. * Versions Plugin : http://mojo.codehaus.org/versions-maven-plugin/ ** Manages the versions of artifacts in a project's POM. * Timestamp Plugin : http://code.google.com/p/maven-timestamp-plugin/ ** Provides formatted timestamps for maven builds. * Spring BeanDoc Plugin : http://mojo.codehaus.org/maven-springbeandoc-plugin/ ** Generates pretty reports for Spring configuration files. * Graphviz Plugin : http://graphviz-maven-plugin.bryon.us/ ** Uses the Graphviz library to render .dot files into images. * Replacer Plugin : http://code.google.com/p/maven-replacer-plugin/ ** Replace tokens within a file with a given value and fully supports regular expressions. * FreeMarker Pre Processor(FMPP) Plugin : http://code.google.com/p/freemarkerpp-maven-plugin/ ** Allows to process FreeMarker templates, inject data into those templates in order to produce code, artifacts, reports or anything desired. * Expression Plugin : https://github.com/jdcasey/expression-maven-plugin ** Allow users to resolve expressions interactively. Code analysis tools plug-in * FindBugs Plugin : http://mojo.codehaus.org/findbugs-maven-plugin/ * PMD Plugin : http://maven.apache.org/plugins/maven-pmd-plugin/ ** allows you to automatically run the PMD code analysis tool on your project's source code and generate a site report with its results. ** also supports the separate Copy/Paste Detector tool (or CPD) distributed with PMD. * Checkstyle Plugin : http://maven.apache.org/plugins/maven-checkstyle-plugin/ ** Generates a report regarding the code style used by the developers. * JavaNCSS Plugin : http://mojo.codehaus.org/javancss-maven-plugin/ ** provides the capability to run the JavaNCSS tool on your Maven 2 project sources and produce an html report. * JDepend Plugin : http://mojo.codehaus.org/jdepend-maven-plugin/ ** produces a nicely formatted metrics report based on your project. * Dependency Graph Plugin : http://el4j.sourceforge.net/plugins/maven-depgraph-plugin/ ** Draws a dependency graph of the project the mojo is executed in. * Sonar Plugin : http://mojo.codehaus.org/sonar-maven-plugin/ ** Enables to analyze and report metrics on source code. Collaboration tools plug-in * Confluence Plugin : http://code.google.com/p/maven-confluence-plugin/ ** Documents a project (using maven site style) and send result to a live confluence site. * Redmine Plugin : http://www.nuiton.org/embedded/jredmine/maven-jredmine-plugin/ Source configuration management tools plug-in * SVN Revision Number Plugin : http://code.google.com/p/maven-svn-revision-number-plugin/ ** Retrieves the revision number and the status of the Subversion working copy directory and sets project properties that can be used later in the build process. ** To work with working copy of SVN 1.7 or higher, you should setup dependencies for this plugin to use svnkit 1.7.0-SNAPSHOT. For this refer : http://code.google.com/p/maven-svn-revision-number-plugin/issues/detail?id=10 Continuous integration tools plug-in * Jenkins-maven-plugin : http://evgeny-goldin.com/wiki/Jenkins-maven-plugin ** allows to generate Jenkins jobs, one "config.xml" per job, from a simple Maven POM. Non-java build plug-in * Native Maven Plugin : http://mojo.codehaus.org/maven-native/native-maven-plugin/index.html ** Use this plugin to compile c and c++ source under Maven 2 with compilers such as gcc, msvc, gcj etc ... * Maven NAR Plugin : http://duns.github.com/maven-nar-plugin/ ** allows you to compile native code (c++, c and fortran) on a number of different architectures (Linux, Windows, MacOSX, Solaris, ...) and with a number of different compilers/linkers (g++, Microsoft Visual C++, CC, ...). Maven Skins *Fluido skin : http://code.google.com/p/fluido-skin/ rounded corners and code syntax highlight Readings Sonatype books *Maven the Complete Reference *Developing with Eclipse and Maven *Maven by Example *Maven Cookbook *Repository Management with Nexus Multi module project * Guide to Working with Multiple Modules * Multiple Module Projects with Eclipse * Running Maven Checkstyle plugin safely with multi module project. ** Using just propertyExpansion much simpler than http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html Reporting * Aggregate Reports Maven assemblies *Guide to creating assemblies *Maven Assembly Descriptor Reference *Maven the Complete Reference/Maven Assemblies Maven snapshot repositories *Repository - SNAPSHOT Handling *Maven Concepts Repositories *Guide to deploying 3rd party JARs to remote repository *Setting Up a Maven Repository Deployment process and security *element in settings.xml *Password encryption *Maven Wagon *Uploading a directory using sftp with Maven Site process *Creating a site *XML Schema Reference for the site descriptor *Configuring the site descriptor *Maven Project Info Reports Plugin *Customizing Site Appearance *Doxia Modules Guide *doxia-module-markdown *How to use confluence format? (in Maven site generation) Release process *Using the Maven Release plugin: Things to know *Archiva Release Process (Real-world sample of Maven release plugin) *Deploying same version overwrites existing release Property and Interpolation *POM Expression evaluation misc * Set plugin’s version on the command line in maven 2 * Attach Library Sources and Javadocs ** Guides to download sources and javadocs of artifacts * Defining custom Maven build command for any project. ** Specify ${project_loc} at 'Base directory' field and select 'Run' item at 'Display in favorites menu' field in 'Common' tab. * reportPlugins doesn't inherit more information from pluginManagement. * Naked Objects' Sister Projects 1.0: Developers Guide * How do I get m2eclipse to recognize $M2_OPTS? * Maven project versions * How to deploy SNAPSHOT with sources and JavaDoc? ** A little bit strange but it really works. But how about the release ? * ANTLR3 Maven Plugin - Eclipse Setup